using System;
using System.Collections.Generic;
using Glue.Converters;
using Glue.Internals.Nulls;

namespace Glue.Internals
{
    internal interface IHoldNestedRelation:IConverter
    {
        List<IRelation> GetRelationsTowardsRight();
        List<IRelation> GetRelationsTowardsLeft();
        IEnumerable<IRelation> GetAllRelations();

        bool IsRelatedTowardsOnLeftSide(IObjectMember member);
        bool IsRelatedTowardsOnRightSide(IObjectMember member);
        Maybe<Func<object, object>> GetCreatorTowardsLeft();
        Maybe<Func<object, object>> GetCreatorTowardsRight();
    }
}